/*
    页面名称：管理员 -角色信息
    作者: 苗怀雨
    时间:2017年12月31日
    最后编辑：2018-1-3 20:30:30
*/

var powerArr = new Array(); //定义权限数组来保存 添加的权限id
$(document).ready(function() {
    /* 添加权限*/
    var $powerTable = $("#powerTable");  // 权限表
    var $powerModal = $(".bs-example-modal-ap");  //添加权限弹出框
    var $powerEnsureButton = $(".btn-primary",$powerModal);  //添加权限里的确定按钮

    $powerEnsureButton.click(function () {
        addPower(powerArr,$powerTable,$powerModal);
    });
    /* 保存按钮 */
    $("#save").click(function () {
        var $this = $(this);
        var name = $("input[name='rolename']").val();   //姓名
        var roleId = $("#roleId").val();
        var $form = $("<div></div>");
        var params;

        var $inputs = $("input",".right_col");

        for(var i = 0;i < $inputs.length;i++){
            if($inputs.eq(i).val().length == 0){
                createPNotify("提示信息","error","请填写" +  $inputs.eq(i).parents("div").eq(0).siblings("label").text());
                return;

            }
        }   //end for

        /* 判断名称长度*/
        if(name.length > 12) {
            createPNotify("提示信息","error","名称长度不能超过12");
            return;
        }

        params = $("<div class='postParam'></div>").clone();
        params.attr("id","roleId");
        params.text(parseInt(roleId));
        $form.append(params);

        params = $("<div class='postParam'></div>").clone();
        params.attr("id","roleName");
        params.text(name);
        $form.append(params);

        params = $("<div class='postParam'></div>").clone();
        params.attr("id","powers");
        params.text(powerArr.toString());
        $form.append(params);

        $this.attr("disabled","disabled");
        postForm("updateRole",$form);
        });
    /*返回按钮*/
    $("button.btn-info").click(function () {
        toRoleList();
    });

    /* 将已有的权限选择框改为disabled*/
    var $checkboxes = $powerModal.find("table").find("input[type='checkbox']");
    for(var i = 0;i < count(powerArr);++i){
        for(var j = 0;j < $checkboxes.length;++j){
            if($checkboxes.eq(j).parents("td").siblings("td").eq(0).text() == powerArr[i]){
                $checkboxes.eq(j).attr("checked","checked");
                $checkboxes.eq(j).attr("disabled","disabled");

                break;
            }
        }   //end for
    }//end for
});

/* 删除要添加的权限范围 */
function deletePower(powerId) {
    var $powerModal = $(".bs-example-modal-ap");  //添加发送范围弹出框
    var $checkboxes =  $("input[type='checkbox']",$powerModal);
    var $tr = $("tr",".powerTable");

    for(var i = 0;i < $tr.length ;i++){
        if(powerId ==  $("td",$tr.eq(i)).eq(0).text()){
            $tr.eq(i).remove();

            for(var j = 0 ;j < $checkboxes.length;++j){
                if($checkboxes.eq(j).attr("disabled")){
                    if($("td",$checkboxes.eq(j).parents("tr")).eq(1).text() == powerId){
                        $checkboxes.eq(j).removeAttr("disabled");
                        $checkboxes.eq(j).removeAttr("checked");
                    }
                }

            } //end for
            for(var n = 0;n < powerArr.length;n++){
                if(powerArr[n] == powerId){
                    powerArr.splice(n,1);
                }
            }

        }
    }
};


/* 删除全部权限范围 */
function deleteAllPower() {
    var $powerModal = $(".bs-example-modal-ap");  //添加发送范围弹出框
    var $checkboxes =  $("input[type='checkbox']",$powerModal);
    var $tr = $("tr",".powerTable");

    for(var i = 0;i < $tr.length ;i++){
        $tr[i].remove();
        $checkboxes.removeAttr("disabled");
        $checkboxes.removeAttr("checked");
    }
    //清空数组
    powerArr.splice(0,powerArr.length);
}


/* 函数:添加权限
 *  @param:powerArr 权限数组
 *  @param:$powerTable 权限表
 *  @param:$powerModal 添加权限时的弹出框
 * */
function addPower(powerArr,$powerTable,$powerModal){
    var $checkboxes =  $("input[type='checkbox']",$powerModal);
    var $trObj;
    var id;
    var $aObj;
    var $newTrObj;   //新的tr节点
    var $newTdObj;   //新的td节点

    for(var i = 0;i < $checkboxes.length;i++){
        $newTrObj = $("<tr></tr>");

        if($checkboxes.eq(i).prop("checked")){

            $trObj =  $checkboxes.eq(i).parents("tr");
            id = $checkboxes.eq(i).parents("tr").children("td").eq(1).text();

            $checkboxes.eq(i).attr("disabled","disabled");

            for(var n = 0;n < powerArr.length;n++){
                if(powerArr[n] == id)
                    break;
            }
            if(n == powerArr.length){
                powerArr.push(id);
            }else{
                continue;
            }
            $newTdObj = $("td",$trObj).eq(1).clone();    //ID
            $newTrObj.append($newTdObj);

            $newTdObj = $("td",$trObj).eq(2).clone();    //权限名称
            $newTrObj.append($newTdObj);

            $newTdObj = $("<td></td>");
            $aObj = $("<a href='#' class='btn btn-danger btn-xs' ><i class='fa fa-trash-o'></i> 删除 </a>");
            $aObj.attr("onclick","deletePower("+ id +")");
            $newTdObj.append($aObj);
            $newTrObj.append($newTdObj);

            $("tbody",$powerTable).append($newTrObj);   //将新的tr节点加入到权限表中
        }
    };
    $('.btn-default',$powerModal).trigger("click");  //点击确定后关闭窗口
}   //end addPower
